<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    
</body>
</html>
<script>
    /*
        //编写一个函数，输入n为偶数时，调用函数求1/2+1/4+...+1/n,当输入n为奇数时，调用函数求/1+1/3+...+1/n
        var total=0;
        function fn(num){
            if(num%2===0){
                for(var i=2;i<=num;i+=2){
                total+=1/i;
                }
                return total;
            }else{
                for(var i=1;i<=num;i+=2){
                    total+=1/i;
                }
                return total;
            } 
        }
        console.log(fn(4))
    */




    /* 
        //使用 prompt 输入任意数字，使用函数完成任意数字阶乘的计算
        var num = +prompt("请输入一个数")
        var total=0;
        function fn(num){
            if(num==1){
                return 1;
            }
            return num*fn(num-1);
        }
        alert(fn(num));
    */



    /* 
        //利用递归求100的阶乘
        function fn(num){
            if(num==1){
                return 1;
            }
            return num*fn(num-1)
        }
        console.log(fn(100))
    */




    /* 
        //重新默写：rgb2Hex(r, g, b) 函数
        function rgbtoHex(num){
            if(num<0){
                return "00";
            }
            if(num>255){
                return 255;
            }
            if(num<=15){
                return "0"+num.toString(16)
            }
            return num.toString(16);
        }
        
        function rgbHex(r,g,b){
            return `#${rgbtoHex(r)}${rgbtoHex(g)}${rgbtoHex(b)}`
        }
        console.log(rgbHex(16,1,-3))
    */



    
        //将冒泡排序 封装成 函数 function bubbleSort(arr) { return newArr; }
        var arr = [4,6,1,9,5,8,2,7,3]
        function bubbleSort(arr){
            for(var x=0;x<arr.length;x++){
                for(var i=0;i<arr.length-x-1;i++){
                    if(arr[i]>arr[i+1]){
                        var temp = arr[i];
                        arr[i] = arr[i+1];
                        arr[i+1] = temp;
                    }
                }
            }
            return arr;
        }
        console.log(bubbleSort(arr));
    



    /* 
        //思考 ： DRY 原则的好处；请列出至少 两点；
        1、节省运行时间
        2、更少的代码，节省了时间和精力，易于维护，并且减少了bug的几率
    */
</script>